package saei.persistencia.DAO;

import java.util.Date;
import java.util.List;

import org.hibernate.Query;

import saei.bean.Licencia;
import saei.bean.Software;

@SuppressWarnings("unchecked")
public class LicenciaDAO extends EntidadPersistenteDAO {

	public static Licencia buscarActiva(Software software) {
		List<Licencia> lista = null;
		
		String fromQuery = 	"from Licencia where software = :software " +
				" and (fechaCaducidad > :fechaActual or fechaCaducidad is null)";
		Query query = getSession().createQuery(fromQuery);
		query.setDate("fechaActual", new Date());
		query.setEntity("software", software);
		lista = query.list();
		
		return (Licencia) (lista != null && lista.size() > 0 ? lista.get(0) : null);
	}
	
	public static List<Licencia> buscarTodas() {
		Query query = getSession().createQuery("from Licencia");
		
		return query.list();
	}
	
	public static List<Licencia> buscarActivas() {
		String fromQuery = 	"from Licencia where fechaCaducidad > :fechaActual or fechaCaducidad is null";
		Query query = getSession().createQuery(fromQuery);
		query.setDate("fechaActual", new Date());
		
		return query.list();
	}
}